package com.power.sifa.netlogin.api;

import com.plf.common.domain.ResponseDTO;
import com.power.sifa.netlogin.model.Net_user;
import com.power.sifa.netlogin.model.Net_userForm;
import com.power.sifa.netlogin.model.pageInfo.Net_userPageInfo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 *  申诉端登录用户实体 Feign
 */
public interface INet_userFeign {

    /**
     * 申诉端登录用户实体分页列表
     */
    @PostMapping("/net_user/list")
    ResponseDTO list(@RequestBody Net_userPageInfo net_userPageInfo);

    /**
    * 查看申诉端登录用户实体
    */
    @GetMapping("/net_user/view")
    ResponseDTO view(@RequestParam("id") String id);

    /**
    * 删除申诉端登录用户实体
    */
    @PostMapping("/net_user/delete")
    ResponseDTO delete(@RequestParam("id") String id);

    ///**
    // * 查看申诉端登录用户实体 复合主键使用
    // */
    //@PostMapping("/net_user/viewByPK")
    //ResponseDTO viewByPK(@RequestBody Net_user.Net_userPK pk);

    /**
     * 修改或保存申诉端登录用户实体
     */
    @PostMapping("/net_user/save")
    ResponseDTO save(@RequestBody Net_user net_user);

    ///**
    // * 删除申诉端登录用户实体 复合主键使用
    // */
    //@PostMapping("/net_user/deleteByPK")
    //ResponseDTO deleteByPK(@RequestBody Net_user.Net_userPK pk);
    
    /**
     * 批量删除申诉端登录用户实体
     */
    @PostMapping("/net_user/batchDel")
    ResponseDTO batchDel(@RequestParam("ids") String ids);
    
     /**
     * 导出excel
     */
    @PostMapping("/net_user/output")
    void output(HttpServletResponse response, @RequestBody Net_userPageInfo net_userPageInfo);
        
     /**
     * 导出excel模板
     */
    @PostMapping("/net_user/exportExcelTemplate")
    void exportExcelTemplate(HttpServletResponse response);
    
     /**
     *	导入excel
     */
    @PostMapping("/net_user/importExcel")
    ResponseDTO importExcel(@RequestBody MultipartFile file) throws IOException ;


    /**
     * 登录方法
     * @param phone
     * @param password
     * @return
     */
    @PostMapping("/net_user/doLogin")
    ResponseDTO doLogin(@RequestParam("phone") String phone, @RequestParam("password") String password, HttpServletResponse response);


    /**
     * 获取验证码
     * @param phone
     *
     * @return
     */
    @PostMapping("/net_user/getVerificationCode")
    ResponseDTO getVerificationCode(@RequestParam("phone") String phone);


    /**
     * 用户注册
     * @param userForm 注册form
     * @return
     */
    @PostMapping("/net_user/registerUser")
    ResponseDTO registerUser(@RequestBody Net_userForm userForm);


    /**
     * 用户认证
     * @param userForm 认证form
     * @return
     */
    @PostMapping("/net_user/authenticateUser")
    ResponseDTO authenticateUser(@RequestBody Net_userForm userForm);


    /**
     * 用户登出  session中token登出 无需userid
     * @param
     * @return
     */
    @PostMapping("/net_user/logout")
    ResponseDTO logout();

    /**
     * 用户是否登录
     * @param
     * @return
     */
    @PostMapping("/net_user/isLogin")
    ResponseDTO isLogin();


    /**
     * 获取用户信息
     * @param
     * @return
     */
    @PostMapping("/net_user/getUserInfo")
    ResponseDTO getUserInfo(@RequestParam("userid") String userid);


}
